package com.hoshiicloud.user.param.usercenter;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 平台消费者信息修改参数实体
 *
 * @author : yangcheng
 * @date : 2019/5/9 14:18
 * @mail : maiboyc@163.com
 **/
@ApiModel
@Data
public class PlatConsumerUpdateParam {

    // ID
    @NotNull(message = "ID不能为空")
    @ApiModelProperty(name = "id", value = "ID", required = true, dataType = "java.lang.Long", example = "3171776001692664100")
    private Long id;

    // 租户会员ID
    @NotNull(message = "租户会员ID不能为空")
    @ApiModelProperty(name = "memberId", value = "租户会员ID", required = true, dataType = "java.lang.Long", example = "3171776001692664000")
    private Long memberId;

    // 租户ID
    @NotNull(message = "租户ID不能为空")
    @ApiModelProperty(name = "companyid", value = "租户ID", required = true, dataType = "java.lang.Long", example = "3171776001692664003")
    private Long companyid;

    // 平台ID
    @NotNull(message = "平台ID不能为空")
    @ApiModelProperty(name = "platformid", value = "平台ID", required = true, dataType = "java.lang.Long", example = "3171776001692664001")
    private Long platformid;

    // 所属机构ID（推荐人伙伴）
    @NotNull(message = "所属机构ID不能为空")
    @ApiModelProperty(name = "partnerid", value = "所属机构ID", required = true, dataType = "java.lang.Long", example = "3171776001692664001")
    private Long partnerid;

    // 推荐人ID
    @NotNull(message = "推荐人ID不能为空")
    @ApiModelProperty(name = "parentId", value = "推荐人ID", required = true, dataType = "java.lang.Long", example = "3171776001692664002")
    private Long parentId;

    // 专属二维码
    @NotNull(message = "专属二维码不能为空")
    @ApiModelProperty(name = "qrcode", value = "专属二维码", dataType = "java.lang.String", example = "/qrcode/xxx.jpg")
    private String qrcode;

    // 推荐码
    @NotNull(message = "推荐码不能为空")
    @ApiModelProperty(name = "inviteCode", value = "推荐码", required = true, dataType = "java.lang.String", example = "FH0986")
    private String inviteCode;

    // 会员等级（1-普通会员 2-VIP会员）
    @NotNull(message = "会员等级不能为空")
    @ApiModelProperty(name = "levelId", value = "会员等级", required = true, dataType = "java.lang.Integer", example = "1")
    private Integer levelId;

    // 变更时间
    @NotNull(message = "变更时间不能为空")
    @ApiModelProperty(name = "levelTime", value = "变更时间", required = true, dataType = "java.util.Date", example = "2019-04-10 13:45:13")
    private LocalDateTime levelTime;

    // 系统token
    @NotNull(message = "系统token不能为空")
    @ApiModelProperty(name = "sysToken", value = "系统token", required = true, dataType = "java.lang.String", example = "T93328432143214321")
    private String sysToken;

    // 推送token
    @NotNull(message = "推送token不能为空")
    @ApiModelProperty(name = "pushToken", value = "推送token", required = true, dataType = "java.lang.String", example = "T93328432143214322")
    private String pushToken;

    // 设备token
    @NotNull(message = "设备token不能为空")
    @ApiModelProperty(name = "deviceToken", value = "设备token", required = true, dataType = "java.lang.String", example = "T93328432143214323")
    private String deviceToken;

    // 注册方式（0-普通 1-298推广注册）
    @NotNull(message = "注册方式不能为空")
    @ApiModelProperty(name = "regShare", value = "注册方式", required = true, dataType = "java.lang.Integer", example = "0")
    private Integer regShare;

    // 渠道（1-app 2-微信 3-pc）
    @NotNull(message = "渠道不能为空")
    @ApiModelProperty(name = "channel", value = "渠道", required = true, dataType = "java.lang.Integer", example = "1")
    private Integer channel;

    // 默认店铺（小程序前端展示默认店铺信息）
    @ApiModelProperty(name = "storeId", value = "默认店铺", required = true, dataType = "java.lang.Long", example = "58")
    private Long storeId;
}  